Next | Prev | Up | Top | Contents | Index

Compiler Variables

The compiler variables listed in Table 10-1 are tested in system header files. They are usually defined on the compiler command line. The rules in /var/sysgen/Makefile.kernio set definitions of the variables appropriately for different CPU types.

Compiler Variables Tested by System Header Files
VariableMeaning
_K32U32 Compile for a 32-bit kernel running (only) 32-bit user programs.
_K32U64 Compile for a 32-bit kernel running 32-bit or 64-bit user programs (not supported in IRIX 6.2).
_K64U64 Compile for a 64-bit kernel running 32-bit or 64-bit user programs.
_KERNELCompile for a kernel module, not a user program.
STATIC=staticUse of pseudo-declarator STATIC is converted to real static.
JUMP_WARCompile workaround code for R4000 branch on end of page bug.
PROBE_WARCompile workaround code for R4000 bug which requires TLBprobe instruction to be performed in uncached mode.
BADVA_WARCompile workaround code for R4000 badvaddr bug.
TFPTarget machine is the R8000.
R4000Target machine is the R4000.
R3000Target machine is the R3000 (not supported after IRIX 5.3).
IPnn Target machine uses the IPnn CPU module: IP17, IP19, IP20, IP22, IP26 are currently supported.
_PAGESZ=16384Compile for a kernel using 16K memory pages (with IRIX 6.2 this implies _K64U64 also defined).
_PAGESZ=4096Compile for a kernel using 4K memory pages (with IRIX 6.2 this implies _K32U32 also defined).
_MIPS3_ADDRSPACEKernel for a MIPS III (R8000) machine.
EVERESTCompile for a Challenge or Onyx system.
MPCompile for a multiprocessor.


Next | Prev | Up | Top | Contents | Index